In display remoting technologies, the graphical user interface (GUI) of an application or operating system is captured at a server and sent as a stream of pixels to a client device at the location of a user. Inputs by the user into the client device may be captured and transmitted to the application or operating system running at the server. Display remoting is used in a variety of circumstances, including when using Internet conferencing applications, when remotely accessing home or office computers using a variety of services, when using Microsoft Windows terminal services, instant gaming (or “game streaming”) services, or when accessing a virtual desktop infrastructure (VDI), among others.
When a user connects to a lightly-loaded remoting server over a fast LAN network, the user experience can be comparable to consuming the content locally, i.e., comparable with using a locally-executing desktop, or playing a video game locally. However, in environments with limited network bandwidth and/or CPU resources, the remoting agent is forced to make tradeoffs. In most instances, such tradeoff involves reducing the frame rate and applying more aggressive compression techniques to the data transmitted to the remote client. While these bandwidth or computing-resource saving techniques ensure the remoting solution conforms to the available resource limitations, such techniques can degrade the user experience (e.g., resulting in fuzzy still images and jerky and fuzzy animation or video).